package com.tianji.learning.service;

import com.tianji.learning.domain.po.PointsBoard;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.learning.domain.query.PointsBoardQuery;
import com.tianji.learning.domain.vo.PointsBoardItemVO;
import com.tianji.learning.domain.vo.PointsBoardVO;

import java.util.List;

/**
 * <p>
 * 学霸天梯榜 服务类
 * </p>
 *
 * @author author
 * @since 2025-03-28
 */
public interface IPointsBoardService extends IService<PointsBoard> {

    /**
     * 查询积分榜单
     * @param pointsBoardQuery
     * @return
     */
    PointsBoardVO getBoard(PointsBoardQuery pointsBoardQuery);

    /**
     * 根据赛季创建积分榜单
     * @param season
     */
    void createPointsBoardTableBySeason(Integer season);

    /**
     * 查询当前榜单
     * @param key
     * @param pageNo
     * @param pageSize
     * @return
     */
    List<PointsBoardItemVO> queryCurrentBoard(String key, Integer pageNo, Integer pageSize);

    //
    List<PointsBoard> saveCurrentBoardToDB(String key, Integer pageNo, Integer pageSize);
}
